home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2005 October / PCWOCT05.iso / Software / FromTheMag / XAMPP 1.4.14 / xampp-win32-1.4.14-installer.exe / xampp / php / pear / adodb / adodb-errorhandler.inc.php < prev    next >
PHP Script  |  2005-05-17  |  3KB  |  80 lines

  1. <?php
  2. /**
  3.  * @version V4.63 17 May 2005  (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
  4.  * Released under both BSD license and Lesser GPL library license.
  5.  * Whenever there is any discrepancy between the two licenses,
  6.  * the BSD license will take precedence.
  7.  *
  8.  * Set tabs to 4 for best viewing.
  9.  *
  10.  * Latest version is available at http://php.weblogs.com
  11.  *
  12. */
  13.  
  14.  
  15. // added Claudio Bustos  clbustos#entelchile.net
  16. if (!defined('ADODB_ERROR_HANDLER_TYPE')) define('ADODB_ERROR_HANDLER_TYPE',E_USER_ERROR); 
  17.  
  18. if (!defined('ADODB_ERROR_HANDLER')) define('ADODB_ERROR_HANDLER','ADODB_Error_Handler');
  19.  
  20. /**
  21. * Default Error Handler. This will be called with the following params
  22. *
  23. * @param $dbms        the RDBMS you are connecting to
  24. * @param $fn        the name of the calling function (in uppercase)
  25. * @param $errno        the native error number from the database
  26. * @param $errmsg    the native error msg from the database
  27. * @param $p1        $fn specific parameter - see below
  28. * @param $p2        $fn specific parameter - see below
  29. * @param $thisConn    $current connection object - can be false if no connection object created
  30. */
  31. function ADODB_Error_Handler($dbms, $fn, $errno, $errmsg, $p1, $p2, &$thisConnection)
  32. {
  33.     if (error_reporting() == 0) return; // obey @ protocol
  34.     switch($fn) {
  35.     case 'EXECUTE':
  36.         $sql = $p1;
  37.         $inputparams = $p2;
  38.  
  39.         $s = "$dbms error: [$errno: $errmsg] in $fn(\"$sql\")\n";
  40.         break;
  41.  
  42.     case 'PCONNECT':
  43.     case 'CONNECT':
  44.         $host = $p1;
  45.         $database = $p2;
  46.  
  47.         $s = "$dbms error: [$errno: $errmsg] in $fn($host, '****', '****', $database)\n";
  48.         break;
  49.     default:
  50.         $s = "$dbms error: [$errno: $errmsg] in $fn($p1, $p2)\n";
  51.         break;
  52.     }
  53.     /*
  54.     * Log connection error somewhere
  55.     *    0 message is sent to PHP's system logger, using the Operating System's system
  56.     *        logging mechanism or a file, depending on what the error_log configuration
  57.     *        directive is set to.
  58.     *    1 message is sent by email to the address in the destination parameter.
  59.     *        This is the only message type where the fourth parameter, extra_headers is used.
  60.     *        This message type uses the same internal function as mail() does.
  61.     *    2 message is sent through the PHP debugging connection.
  62.     *        This option is only available if remote debugging has been enabled.
  63.     *        In this case, the destination parameter specifies the host name or IP address
  64.     *        and optionally, port number, of the socket receiving the debug information.
  65.     *    3 message is appended to the file destination
  66.     */
  67.     if (defined('ADODB_ERROR_LOG_TYPE')) {
  68.         $t = date('Y-m-d H:i:s');
  69.         if (defined('ADODB_ERROR_LOG_DEST'))
  70.             error_log("($t) $s", ADODB_ERROR_LOG_TYPE, ADODB_ERROR_LOG_DEST);
  71.         else
  72.             error_log("($t) $s", ADODB_ERROR_LOG_TYPE);
  73.     }
  74.  
  75.  
  76.     //print "<p>$s</p>";
  77.     trigger_error($s,ADODB_ERROR_HANDLER_TYPE); 
  78. }
  79. ?>
  80.